package com.example.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.example.domain.BookCopy;
import com.example.dto.BookCopyAddDTO;
import com.example.dto.BookCopyUpdateDTO;
import com.example.util.Result;


import java.util.List;

/**
 * 图书副本服务接口
 */
public interface BookCopyService extends IService<BookCopy> {

    /**
     * 添加图书副本
     */
    Result addBookCopy(BookCopyAddDTO bookCopyAddDTO);

    /**
     * 根据ID获取图书副本详情
     */
    Result getBookCopyById(Long id);

    /**
     * 根据图书ID获取所有副本
     */
    Result getBookCopiesByBookId(Long bookId);

    /**
     * 更新图书副本状态
     */
    Result updateBookCopyStatus(BookCopyUpdateDTO bookCopyUpdateDTO);

    /**
     * 获取可借阅的图书副本
     */
    Result getAvailableBookCopies(Long bookId);

    Result deleteBookCopy(Long id);
}